数据同步 - rsync

文章目录
  1. 开笔
    1. 背景(废话)
    2. 概述
  2. 安装
  3. 使用
    1. 基本语法
    2. 本地拷贝
    3. 远程拷贝
    4. 使用ssh
    5. 其他高级选项
  4. 优势和特点(可看可不看)

开笔

背景(废话)

做接口服务端,基本上都会使用负载均衡来保证后台的可用性,做负载均衡有很多方法,有硬负载,也有软负载,但负载均衡的后面,就是我们的应用服务,一般都是几台硬件配置相似的,应用服务完全相同的机器。当我们要为这几台机器部署完全相同的应用服务,并维护和更新这几台机器上的应用服务,自然就遇到最直接的数据(包括服务)同步的问题,笔者就是遇到这个问题,才想办法,研究怎么优雅的解决这个问题。

当然,数据同步的场景包含笔者所描述的,但不仅限于此。

概述

rsync 是一款快速并多样的异地文件拷贝工具。具备通过远程脚本或者远程rsync进程来实现本地和远程主机间拷贝的能力。提供丰富的控制选项和灵活多样拷贝的权限控制,因增量拷贝闻名,广泛地用于 备份和镜像,以及作为升级版本的拷贝命令使用。rsync 一个命令行工具,若要用它,首先得对命令行有一定的了解。

总而言之:rsync 是一款 高效的、通用的拷贝、备份、同步数据(文件或者文件夹)工具,可以是本地的、远程的,夸目录、夸磁盘亦或是夸机器,他的高效来自于能够做到增量同步。

安装

在部分 Linux 发行版本中,rsync 是默认已经安装的,为确认是否已经安装,可以查看机器中是否已经安装这几个软件:

  • rsync
  • xinetd
  • ssh

没有的话请自行安装(yum 或者 apt-get 等等).

使用

基本语法

1
rsync options source destination

具体有那些选项的话,我们不妨执行man rsync看看。

本地拷贝

1
rsync -z ~/test.txt /Data/backup/

rsync-local

远程拷贝

1
rsync -zvz route root@jiafan.net:/backup/

rsync-remote

使用ssh

rsync-remote-ssh

其他高级选项

优势和特点(可看可不看)

  • 高效的远程拷贝和同步文件的工具
  • 支持 拷贝链接、设备、所有权、所属组和权限
  • 比scp更快:基于 远程更新协议(remote-update protocol),从而具备增量拷贝技能
  • 低带宽消耗:传输前压缩,传输后解压